﻿using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

using Gman.WebApp.ServiceControllers;
using Gman.Entity.Entities;
using System.Web.Mvc;
using System.Collections.Generic;

namespace Gman.WebApp.Models
{
    public class TransferenciaActivoDetalleModel : BaseModel
    {
        private OperacionServiceController service = new OperacionServiceController();

        public Guid? ID { get; set; }
        public string Action { get; set; }
        public TransferenciaActivoDetalleBE TransActivoDetalle { get; private set; }
        public BajaActivoDetalleModel BajaActivoDetalle { get; set; } // busqueda del activo
        public BienBE Bien { get; set; }
        public ToolBarModel ToolBar { get; set; }

        public SelectList PersonalAutoriza { get; private set; }
        public SelectList SedeOrigen { get; private set; }
        public SelectList SedeDestino { get; private set; }


        SedeBE sede = new SedeBE();
        PersonalBE personal = new PersonalBE();


        public TransferenciaActivoDetalleModel(TransferenciaActivoDetalleBE transActivoDetalle)
        {
            ID = Guid.NewGuid();
            TransActivoDetalle = transActivoDetalle;

            BajaActivoDetalle = new BajaActivoDetalleModel(new BajaActivoDetalleBE()); // para utilizar el buscador de activo que esta en BajaActivoDetalle

            Bien = new BienBE();


            PersonalAutoriza = ListaPersonal();
            SedeOrigen = ListaSedes();
            SedeDestino = ListaSedes();
        }


        public TransferenciaActivoDetalleModel(BienBE bien)
        {
            ID = Guid.NewGuid();
            TransActivoDetalle = new TransferenciaActivoDetalleBE();

            BajaActivoDetalle = new BajaActivoDetalleModel(new BajaActivoDetalleBE());

            Bien = bien;

            PersonalAutoriza = ListaPersonal();
            SedeOrigen = ListaSedes();
            SedeDestino = ListaSedes();
        }


        public TransferenciaActivoDetalleModel(BienBE bien, TransferenciaActivoDetalleBE transActivoDetalle)
        {
            ID = Guid.NewGuid();
            TransActivoDetalle = transActivoDetalle;

            BajaActivoDetalle = new BajaActivoDetalleModel(bien,new BajaActivoDetalleBE());

            Bien = bien;

            PersonalAutoriza = ListaPersonal();
            SedeOrigen = ListaSedes();
            SedeDestino = ListaSedes();
        }


        public SelectList ListaPersonal()
        {
            personal.IDEmp = 1;
            personal.IDOrigen = 27;
            personal.OrigenPers = 1;
            List<SelectListItem> listItem = new List<SelectListItem>();

            listItem.Add(seleccione);
            listItem.AddRange(new SelectList(service.ListarPersonal(personal), "IDPersonal", "NomsPers"));


            return new SelectList(listItem, "Value", "Text");
        }

        public SelectList ListaSedes()
        {
            sede.IDEmp = 1;
            List<SelectListItem> listItem = new List<SelectListItem>();

            listItem.Add(seleccione);
            listItem.AddRange(new SelectList(service.ListarSede(sede), "IDSede", "NomSede"));

            return new SelectList(listItem, "Value", "Text");
        }


    }
}
